package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 用户信息对象 user
 * 
 * @author ruoyi
 * @date 2024-11-12
 */
public class User extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 用户唯一标识 */
    private Long usrId;

    /** 用户名称 */
    @Excel(name = "用户名称")
    private String usrName;

    /** 用户密码 */
    private String usrPassword;

    /** 用户性别 */
    @Excel(name = "用户性别")
    private String usrSex;

    /** 注册日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "注册日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date usrRegistrationdate;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
    private String usrEmail;

    /** 登录方式（1：手机号密码 2：微信登录） */
    private Long usrLoginType;

    /** 用户手机号 */
    @Excel(name = "用户手机号")
    private String usrPhone;

    /** 地址 */
    @Excel(name = "地址")
    private String usrAddress;

    /** 用户电子钱包余额 */
    private BigDecimal usrPrice;

    /** 用户头像 */
    @Excel(name = "用户头像")
    private String usrAvatar;

    /** 用户状态（正常 禁用） */
    @Excel(name = "用户状态", readConverterExp = "正=常,禁=用")
    private String usrStatus;

    /** 角色表外键 */
    @Excel(name = "角色表外键")
    private Long usrRoleId;

    public void setUsrId(Long usrId) 
    {
        this.usrId = usrId;
    }

    public Long getUsrId() 
    {
        return usrId;
    }
    public void setUsrName(String usrName)
    {
        this.usrName = usrName;
    }

    public String getUsrName() 
    {
        return usrName;
    }
    public void setUsrPassword(String usrPassword) 
    {
        this.usrPassword = usrPassword;
    }

    public String getUsrPassword() 
    {
        return usrPassword;
    }
    public void setUsrSex(String usrSex) 
    {
        this.usrSex = usrSex;
    }

    public String getUsrSex() 
    {
        return usrSex;
    }
    public void setUsrRegistrationdate(Date usrRegistrationdate) 
    {
        this.usrRegistrationdate = usrRegistrationdate;
    }

    public Date getUsrRegistrationdate() 
    {
        return usrRegistrationdate;
    }
    public void setUsrEmail(String usrEmail) 
    {
        this.usrEmail = usrEmail;
    }

    public String getUsrEmail() 
    {
        return usrEmail;
    }
    public void setUsrLoginType(Long usrLoginType) 
    {
        this.usrLoginType = usrLoginType;
    }

    public Long getUsrLoginType() 
    {
        return usrLoginType;
    }
    public void setUsrPhone(String usrPhone) 
    {
        this.usrPhone = usrPhone;
    }

    public String getUsrPhone() 
    {
        return usrPhone;
    }
    public void setUsrAddress(String usrAddress) 
    {
        this.usrAddress = usrAddress;
    }

    public String getUsrAddress() 
    {
        return usrAddress;
    }
    public void setUsrPrice(BigDecimal usrPrice) 
    {
        this.usrPrice = usrPrice;
    }

    public BigDecimal getUsrPrice() 
    {
        return usrPrice;
    }
    public void setUsrAvatar(String usrAvatar) 
    {
        this.usrAvatar = usrAvatar;
    }

    public String getUsrAvatar() 
    {
        return usrAvatar;
    }
    public void setUsrStatus(String usrStatus) 
    {
        this.usrStatus = usrStatus;
    }

    public String getUsrStatus() 
    {
        return usrStatus;
    }
    public void setUsrRoleId(Long usrRoleId) 
    {
        this.usrRoleId = usrRoleId;
    }

    public Long getUsrRoleId() 
    {
        return usrRoleId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("usrId", getUsrId())
            .append("usrName", getUsrName())
            .append("usrPassword", getUsrPassword())
            .append("usrSex", getUsrSex())
            .append("usrRegistrationdate", getUsrRegistrationdate())
            .append("usrEmail", getUsrEmail())
            .append("usrLoginType", getUsrLoginType())
            .append("usrPhone", getUsrPhone())
            .append("usrAddress", getUsrAddress())
            .append("usrPrice", getUsrPrice())
            .append("usrAvatar", getUsrAvatar())
            .append("usrStatus", getUsrStatus())
            .append("usrRoleId", getUsrRoleId())
            .toString();
    }
}
